このシリーズの最初の記事(source)にはこの技術に関する入門知識が記載されている。
Web Beansは両層に互換性のあるコンポーネントモデルである。Web BeansはEJB3セッションビーンがJSFマネージビーンとして働くのを可能にしJSFとEJB3を統合することによって二つのコンポーネントモデルを統一している。更にWeb Beansは対話モデルと持続性コンテキストマネージメントを提供するので、JSFとJPAに影響を与える楽観的処理マネージメント問題とステートマネージメント問題を解決してくれるのである。またWeb Beansはビジネス理論を備えたアプリケーションコンポーネントなのである。そしてこのWeb BeansはJavaコードから直接的に呼び出すことが可能、もしくはUnified ELを通して呼び出すことも可能である。またWeb Beansはトランザクションリソースにアクセスする可能性もある。Web Beans間の依存性はWeb Beansコンテナによって自動的に管理される。ほとんどのWeb Beansはステートフルでコンテキスチャルである。またWeb Beansのライフサイクルはいつもコンテナによって管理されている。
シリーズの2つ目の記事(source)はインジェクション、バインディングアノテーション、仕様のコンポーネントタイプに関して説明している。 サポートされているインジェクションのタイプは以下の通り。
- 直接的フィールド
- メソッド
- コンストラクタ
- パラメータ
3つ目の記事(source)はアノテーションの代わりにXMLを介した宣言コンポーネントの例を挙げている。King社がスコープ、コンテキスト、決定方法論を扱っている。有効なスコープのタイプは下記のとおりである。
- @リクエストスコープ
- @セッションスコープ
- @アプリケーションスコープ
- @対話スコープ
予想通りそのような大きなコンテンツはそれに相当するコメントを生み出した。その中でも興味深い見解の一つ(source)は下記のとおりである。
過去数年間に渡ってこの話題は注目されてきたが、多分Interface 21はSpring Frameworkを正式にJEE仕様の一部にさせようと迫るだろう。Rod Johnsonが正式にJEE 6に関するサポートを宣言しているのを考えるとそれはあり得ないことではないのだ。どうやら狂気のBob LeeとGuiceのチームはパーティに辿り付く近道を見つけたようだ。新しいWeb Beansに関する新たな記事において新しい仕様は実のところSeamとGuiceから影響を受けているという。グーグルがJCPのサポートに対して明らかにJBossのアプローチを取っているという事はとても興味深い。というのもそれはJEE仕様をまんべんなくカバーするために独立型の製品をつくり、そ の製品を仕様それ自体にしてしまうためにJCPを使用するということなのである。
同じようなコメントがその記事自体と一緒に見つけた。
Seamへの結び付きがあるのは明らかだが、Guiceチームがそれに関わっているのを見るのは初めてのことである。Web Beansが正確であるか心配せずには要られない。
King社は下記のように返答している。
多分Seamはいずれ2つの層に分離するだろう。一つ目はWeb Beans RIに進化する中核のコンポーネントエンジンで 二つ目は内蔵のコンポーネント、JSFコンポーネント等を提供するフレームワーク層である。 Bob氏はその仕様へ多大な努力とアイディアを貢献している。原文はこちらです:http://www.infoq.com/news/2007/09/webbeans-preview